<?php
/**
 * Permite hacer operaciones con la tabla tarifas de la base de datos
 * @package simertweb 
 * @subpackage models 
 * @category Administración
 * @author Grecia Espinoza <mrcl2587@gmail.com>
 * @author Juan Maldonado  <jgmaldonadoj@gmail.com>
 * @version 1.0  
 */
class Mconfiguracion_tarifas extends CI_Model {
    
    public function __construct() {
        parent::__construct();
        $this->load->model('mhistorico');
    }
    
    /**
     * Guarda o actuliza los costos de las tarifas de estacionamiento
     */
    function guardar_actualizar_tarifas() {
        if ($this->db->get('tarifa')->num_rows() > 0) {
            $idTarifa = $this->db->get('tarifa')->row()->idTarifa;
            $data = array(
                'estacionamiento' => $_POST['tarjeta'] / 6,
                'sueldo' => $_POST['sueldo2'],
                'espExclusivo' => $_POST['costoexclusivos'],
                'espComercial' => $_POST['costocomercial']
            );
            $this->db->where('idTarifa', $idTarifa);
            $this->db->update('tarifa', $data);
            $this->mhistorico->guardar_acceso($idTarifa, "Modificación de las tarifas" );
        } else {
            $data = array(//obtiene los datos del formulario y los almacena en las variables
                'estacionamiento' => $_POST['tarjeta'] / 6,
                'sueldo' => $_POST['sueldo2'],
                'espExclusivo' => ($_POST['costoexclusivos']),
                'espComercial' => ($_POST['costocomercial'])
            );
            $this->db->insert('tarifa', $data); //guarda los datos en la bd
            $this->mhistorico->guardar_acceso($this->obtener_idtarifa(), "Creación de una nueva tarifa");
        }
    }
    
    /**
     * Obtiene el id de la tarifa
     * @return type int
     */
    function obtener_idtarifa(){
        $query=$this->db->get('tarifa')->row()->idTarifa;
        return $query;
    }
    
    /**
     * Calcula el costo de las tarifas de estacionamiento
     * @return type array
     */
    function calcular_tarifas() {
        $lista = array(//obtiene los datos del formulario y los almacena en las variables
            'estacionamiento' => $_POST['estacionamiento'],
            'sueldo' => $_POST['sueldo'],
            'espExclusivo' => ($_POST['porcexclusivo'] / 100) * $_POST['sueldo'],
            'espComercial' => ($_POST['porccomercial'] / 100) * $_POST['sueldo'],
            'costoTarjeta' => $_POST['estacionamiento'] * 6,
            'porcExclusivo' => $_POST['porcexclusivo'],
            'porcComercial' => $_POST['porccomercial']
        );
        return $lista;
    }

    /**
     * Obtiene las tarifas de estacionamiento
     * @return null
     */
    function obtener_tarifa() {
        $query = $this->db->get('tarifa');
        if ($query->num_rows() > 0) {
            return $query->result();
        } else {
            return NULL;
        }
    }

    /**
     * Obtiene el costo de una tarifa de estacionamiento
     * @param type $razonPago es ls descrpción de la tarifa de estacionamiento
     * @return real
     */
    function consultar_costo($razonPago) {
        $query = $this->db->get('tarifa')->result();
        foreach ($query as $value) {
            if ($razonPago == 'E/S DE VEHÍCULOS' || $razonPago == 'GARAJES PRIVADOS') {
                return $value->espExclusivo;
            } else {
                if ($razonPago == 'TRANSPORTE COMERCIAL') {
                    return $value->espComercial;
                }else{
                    return 0.0;
                }
            }
        }
    }

}

?>
